package day01

/**
  * Created by root on 2018/11/21.
  */
class FunctionAndMethod {


}
// 方法和函数式有区别的
object FunctionAndMethod{
  val f3:Int=> Int = {x => x+1}

  def main(args: Array[String]): Unit = {
    val f: Int = f2(1,2)
    println(f)
    val ff = f3(1)


    val ff1 = m4( x => x+1 )
    m4(f3)
  }

  //函数式一等公民   函数可以作为对象使用
  //返回值是Int
  def m1(x: Int , y: Int) ={
    x+y
  }
  //返回值是空 （）
  def m2(x:Int , y:Int) {
    x+y
  }

  def m3(x: Int,y: Int): Int ={
    x+y
  }

  def m4(f:Int => Int): Int ={
    f(4)
  }

  //函数可以认为是对象，不是方法，
  //函数的写法
  val f1 = (x: Int,y: Int) => x+y
  //函数的完整写法
  val f2:(Int,Int) => Int = {(x,y) => x+y}

  //匿名函数
  (x:Int) => {x+1}



}
